/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.upc.dew.serviciosmultiples.controller;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import pe.edu.upc.dew.serviciosmultiples.exception.ServiceException;
import pe.edu.upc.dew.serviciosmultiples.model.Solicitud;
import pe.edu.upc.dew.serviciosmultiples.service.SolicitudService;
import static pe.edu.upc.dew.serviciosmultiples.util.Constants.ESTADO_PENDIENTE;
import static pe.edu.upc.dew.serviciosmultiples.util.Constants.USUARIO_ACT;
import static pe.edu.upc.dew.serviciosmultiples.util.Constants.FECHA_ACT;

/**
 *
 * @author bcano
 */
public class SolicitudAdminController extends MultiActionController {
    protected final Log logger = LogFactory.getLog(getClass());

    private SolicitudService solicitudService;

    public SolicitudService getSolicitudService() {
        return solicitudService;
    }

    public void setSolicitudService(SolicitudService solicitudService) {
        this.solicitudService = solicitudService;
    }

    public ModelAndView index(HttpServletRequest request, HttpServletResponse response, Solicitud solicitudForm) throws ServiceException {
        ModelAndView modelAndView = new ModelAndView("solicitudAdmin");
        HttpSession session = request.getSession();

        try {
            List<Solicitud> voList = solicitudService.listarSolicitudesPendientes(ESTADO_PENDIENTE);
            //System.out.print("lista pendiente :" + voList.size());
            logger.info("lista pendiente :" + voList.size());
            modelAndView.addObject("voList", voList);

        } catch (ServiceException ex) {
            //System.err.println(ex.toString());
            logger.error(ex.toString());
        } catch (Exception ex) {
            //System.err.println(ex.toString());
            logger.error(ex.toString());
        }

        request.setAttribute("solicitud", solicitudForm);
        request.setAttribute("usuario", session.getAttribute(USUARIO_ACT));
        request.setAttribute("now", session.getAttribute(FECHA_ACT));
        return modelAndView;
    }
}
